Decidability of equality for a simply typed calculus using hereditary substitutions in Agda
نویسندگان
چکیده
Most interactive theorem provers based on Type Theory automatically check termination of function definitions, and thus restrict to structurally terminating ones. It follows that implementing a full normalizer for the λ-calculus in an interactive theorem prover, and thus establishing formal properties on it, is a difficult issue. Relying on hereditary substitutions, that are structurally terminating, we present an implementation of a normalizer for a simply typed λcalculus in Agda, and prove using normalization the decidability of the βη-equality in this calculus. We are motivated by a formal verification of implementations of normalizers in the longer term.
منابع مشابه
Normalization by hereditary substitutions
We analyze a normalization function for the simply typed λ-calculus based on hereditary substitutions, a technique developed by Pfenning et al. The normalizer is implemented in Agda, a total language where all programs terminate. It requires no termination proof since it is structurally recursive which is recognized by Agda’s termination checker. Using Agda as an interactive theorem prover we e...
متن کاملThe category of simply typed λ-terms in Agda
We present a proof in Agda that the substitutions in simply typed λ-calculus form a category which has nite products. We base our syntax on directly typed λ-calculus, without de ning rst pure λ-calculus. We use parallel substitutions, a better point of view to argue about substitutions. We show that we can reduce all the proofs to similar diagrams, that make it automatic.
متن کاملNormalisation by Evaluation for Type Theory, in Type Theory
We develop normalisation by evaluation (NBE) for dependent types based on presheaf categories. Our construction is formulated in the metalanguage of type theory using quotient inductive types. We use a typed presentation hence there are no preterms or realizers in our construction, and every construction respects the conversion relation. NBE for simple types uses a logical relation between the ...
متن کاملImplementing a Normalizer Using Sized Heterogeneous Types
In the simply-typed lambda-calculus, a hereditary substitution replaces a free variable in a normal form r by another normal form s of type a, removing freshly created redexes on the fly. It can be defined by lexicographic induction on a and r, thus, giving rise to a structurally recursive normalizer for the simply-typed lambda-calculus. We generalize this scheme to simultaneous substitutions, ...
متن کاملBig-step normalisation
Traditionally, decidability of conversion for typed λ-calculi is established by showing that small-step reduction is confluent and strongly normalising. Here we investigate an alternative approach employing a recursively defined normalisation function which we show to be terminating and which reflects and preserves conversion. We apply our approach to the simply-typed λ-calculus with explicit s...
متن کامل